package gek.uni.aspirant.ocl.parser.mptree.tree;

import java.util.Collection;
import java.util.Set;

public interface INode {

  void setID(String ID);
  
  public String getID();
  
  public String getName();

  public void setName(String name);

  public Set<INode> getChildren();

  public void setChildren(Set<INode> children);
  
  /**
   * Добавляет в список детей узел node и проверяет, чтобы не было узлов с одинаковым именем  
   * @param node
   */
  public void addChild(INode child);
  
  public void addChildren(Collection<INode> newChildren);
  
  public void removeChild(INode child);

  INode getParent();
  
  INode getRoot();

  void setParent(INode parent);
}